home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
- import javax.swing.tree.DefaultMutableTreeNode;
- import javax.swing.tree.TreeNode;
-
- public class JTree$DynamicUtilTreeNode extends DefaultMutableTreeNode {
- protected boolean hasChildren;
- protected Object childValue;
- protected boolean loadedChildren = false;
-
- public JTree$DynamicUtilTreeNode(Object var1, Object var2) {
- super(var1);
- this.childValue = var2;
- if (var2 != null) {
- if (var2 instanceof Vector) {
- ((DefaultMutableTreeNode)this).setAllowsChildren(true);
- } else if (var2 instanceof Hashtable) {
- ((DefaultMutableTreeNode)this).setAllowsChildren(true);
- } else if (var2 instanceof Object[]) {
- ((DefaultMutableTreeNode)this).setAllowsChildren(true);
- } else {
- ((DefaultMutableTreeNode)this).setAllowsChildren(false);
- }
- } else {
- ((DefaultMutableTreeNode)this).setAllowsChildren(false);
- }
-
- }
-
- public Enumeration children() {
- if (!this.loadedChildren) {
- this.loadChildren();
- }
-
- return super.children();
- }
-
- public static void createChildren(DefaultMutableTreeNode var0, Object var1) {
- if (var1 instanceof Vector) {
- Vector var2 = (Vector)var1;
- int var3 = 0;
-
- for(int var4 = var2.size(); var3 < var4; ++var3) {
- var0.add(new JTree$DynamicUtilTreeNode(var2.elementAt(var3), var2.elementAt(var3)));
- }
- } else if (var1 instanceof Hashtable) {
- Hashtable var5 = (Hashtable)var1;
- Enumeration var7 = var5.keys();
-
- while(var7.hasMoreElements()) {
- Object var9 = var7.nextElement();
- var0.add(new JTree$DynamicUtilTreeNode(var9, var5.get(var9)));
- }
- } else if (var1 instanceof Object[]) {
- Object[] var6 = var1;
- int var8 = 0;
-
- for(int var10 = var6.length; var8 < var10; ++var8) {
- var0.add(new JTree$DynamicUtilTreeNode(var6[var8], var6[var8]));
- }
- }
-
- }
-
- public TreeNode getChildAt(int var1) {
- if (!this.loadedChildren) {
- this.loadChildren();
- }
-
- return super.getChildAt(var1);
- }
-
- public int getChildCount() {
- if (!this.loadedChildren) {
- this.loadChildren();
- }
-
- return super.getChildCount();
- }
-
- public boolean isLeaf() {
- return ((DefaultMutableTreeNode)this).getAllowsChildren() ^ true;
- }
-
- protected void loadChildren() {
- this.loadedChildren = true;
- createChildren(this, this.childValue);
- }
- }
-